package com.goa.utils;

import java.lang.reflect.Method;

/**
 * 反射工具类
 */
public class DynamicMethodInvoker {

    // 动态调用方法
    public static Object invokeMethod(Object object, String methodName, Object[] params) throws Exception {
        // 获取方法参数类型
        Class<?>[] paramTypes = new Class<?>[params.length];
        for (int i = 0; i < params.length; i++) {
            paramTypes[i] = params[i].getClass();
        }

        // 获取方法对象
        Method method = object.getClass().getMethod(methodName, paramTypes);
        
        // 调用方法并打印结果
        Object result = method.invoke(object, params);
        System.out.println("调用方法 " + methodName + "，结果是: " + result);
        return result;
    }
}
